home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / tmodem32.arc / TMODEM32.DOC < prev   
Text File  |  1985-07-09  |  24KB  |  452 lines

  1.  
  2.                            Documentation for TMODEM
  3.  
  4.       TMODEM is short for Turbo Modem.  A communications program for IBM
  5.       Personal Computers and compatible units.  The author, Paul Meiners,
  6.       and his company, P & M Software, reserve the copyright to this program
  7.       and all related materials.  The user is granted a license to use the
  8.       program and is encouraged to make a donation if the program is found to
  9.       be useful.  $20 is recommended.  Send donations to the following address:
  10.  
  11.                           P & M Software Company
  12.                           9350 Country Creek #30
  13.                           Houston, Texas 77036
  14.  
  15.       In addition, the user is granted the right to make unlimited copies
  16.       of the program and to distribute these copies as he/she desires, except
  17.       that the author reserves the sole right to distribute the program
  18.       for profit.  If the user distributes the product, the user may ask for
  19.       a duplication charge, not to exceed $5 per copy.
  20.  
  21.  
  22.       Features:
  23.  
  24.          1. Nearly complete VT-100 emulation.
  25.          2. ANSI.SYS style color graphics.
  26.          3. BASIC style PLAY for single voice music.  Nice, but due
  27.             to PASCAL's limited sound capability, it plays in foreground.
  28.          4. Fully buffered, interrupt driven, serial I/O.
  29.          5. Fast XMODEM file transfer.
  30.          6. Removable window subsystem.
  31.          7. Telephone directory, with up to 999 entries.
  32.          8. File capture, limited ONLY by the amount of available
  33.             memory.
  34.          9. ASCII file transmission, using XON/XOFF protocol.
  35.         10. Utility package of BASIC style procedures and
  36.             functions.
  37.         11. Full control of all communication parameters.
  38.         12. 40 macro keys, to store logon, passwords, etc.
  39.         13. Printer support, using XON/XOFF flow control.
  40.         14. Host directed XMODEM file transfer.
  41.  
  42.  
  43.       Most of the features of the program are self-documenting, however
  44.       for the sake of the novice user, some explanation is necessary.
  45.  
  46.          The program is distributed in .COM, which can be executed
  47.          immediately by placing your disk into drive A, changing the
  48.          default drive to A, if not already, then typing the name of the
  49.          program, TM.
  50.  
  51.          Once the user has successfully executed the program, the copy-
  52.          right notice will appear, and the user will be asked if music
  53.          is wanted, strike a "y" if you want music, if not, then strike
  54.          any other key.  The on-line screen will then appear.  At the
  55.          bottom of the online screen appears a reminder of the most
  56.          frequently used commands.  These commands may be selected by
  57.          depressing and holding the ALT key along with the indicated ALPHA
  58.          key.  If the user needs a command that does not appear on the screen,
  59.          a complete list of available commands can be obtained by selecting
  60.          ALT-H.  Commands may be selected while the HELP screen is still on
  61.          screen, so that the user does not need to call up the HELP screen
  62.          repetitively.  Here is a brief description of each command:
  63.  
  64.          ALT-A .... Transmit a file using the ASCII XON/XOFF protocol,
  65.                     where the DC1 character is used for XON and the
  66.                     DC3 character is used for XOFF.
  67.  
  68.          ALT-B .... Send BREAK signal to host computer.  The serial
  69.                     port is forced into the spacing state.
  70.  
  71.          ALT-C .... Turn capture mode ON if it is OFF, or OFF if it is ON.
  72.                     When this mode is turned OFF, either thru the ALT-C
  73.                     command or with the ALT-T command, the user will be
  74.                     prompted for a file name wherein to save the contents of
  75.                     the capture buffer.  During capture mode operations, a
  76.                     '*' or 'W' will appear in the lower left corner of the
  77.                     screen.  The '*' reminds the user that capture mode
  78.                     is ON, the 'W' warns the user that memory space is
  79.                     short.  Capture mode will make use of all available
  80.                     memory.  Capture mode is useful for recording complete
  81.                     sessions for review later, so you don't read so much
  82.                     on those long distance phone calls.
  83.  
  84.          ALT-D .... Modem dialing and phone directory management.
  85.                     The phone directory may have up to 999 entries,
  86.                     if there is enough disk space.  The directory screen will
  87.                     automatically disappear whenever carrier is detected,
  88.                     unless the Forced Carrier config param is "TRUE".
  89.  
  90.          ALT-E .... Turn Half Duplex ON if it is OFF, or OFF if it
  91.                     is on.  If Half Duplex is ON, then a 'H' will
  92.                     appear in the lower right corner of the screen to
  93.                     remind the user.
  94.  
  95.          ALT-F .... Fix time.  That is, mark the current time,
  96.                     so that you can measure time used, with the
  97.                     ALT-U command.
  98.  
  99.          ALT-G .... Redial the last number dialed.  This command will loop
  100.                     continuously until carrier is signaled by the modem, the
  101.                     Forced Carrier config param is 'TRUE', or the user
  102.                     presses a key.
  103.  
  104.          ALT-H .... Produces the HELP screen for the user.
  105.  
  106.          ALT-I .... Reconfigure the program defaults, without exiting to DOS.
  107.                     The parameters listed below for the .CNF file can be
  108.                     changed via this command.
  109.  
  110.          ALT-J .... Display version number of TMODEM in use.
  111.  
  112.          ALT-K .... Kill a file.  Delete a file from the disk.
  113.  
  114.          ALT-L .... Display disk directory, under a user supplied mask.
  115.                     For example, to see all files on the logged drive
  116.                     and current directory, the user would enter the mask
  117.                     "*.*", when prompted.   Or see just the files with an
  118.                     extension of .PAS by entering the mask "*.pas", when
  119.                     prompted.
  120.  
  121.          ALT-M .... Macro key management.  Allows the user to define the
  122.                     contents of the function keys F1 thru F10, and all
  123.                     combinations of the function keys and shift, Ctrl or
  124.                     Alt.  This gives the user 40 different macro keys.
  125.  
  126.          ALT-N .... Allows the user to change to a new logged drive and/or
  127.                     new current directory.
  128.  
  129.          ALT-O .... Sort the dialing directory into ascending sequence
  130.                     by name or number.  Performs a IN MEMORY sort, so
  131.                     there must be enough memory to hold all the phone
  132.                     directory entries.
  133.  
  134.          ALT-P .... Print a file.
  135.  
  136.          ALT-Q .... Hang-up the phone line, put the modem "ON HOOK".
  137.                     Drops the terminal ready signal to the modem for 3
  138.                     seconds and resets the UART.
  139.  
  140.          ALT-R .... Receive a file using XMODEM protocol.  Communications
  141.                     parameters are automatically changed to/from 8 bit
  142.                     no parity.
  143.  
  144.          ALT-S .... Switch communication parameters.  The program starts
  145.                     with these default values: 1200 baud, No Parity,
  146.                     8 data bits, 1 stop bit.  Permissible values for the
  147.                     baud rate are: 300, 1200, 2400, 4800, or 9600.
  148.  
  149.          ALT-T .... Terminate and return to DOS.
  150.                     If other windows are open on the screen, this command
  151.                     will be deferred until all windows have been closed.
  152.  
  153.          ALT-U .... Used, time.  Report the time used since the
  154.                     the last ALT-F command and the last dial of the phone
  155.                     or the start of the program, whichever occured last.
  156.                     Total elapsed time in hours, minutes and seconds,
  157.                     is reported.
  158.  
  159.          ALT-V .... View the contents of a file, uses the same style as
  160.                     MORE, the DOS utility.  Use the "End" key to stop the
  161.                     command.
  162.  
  163.          ALT-W .... Clear the screen.
  164.  
  165.          ALT-X .... Transmit a file using XMODEM protocol.  Communications
  166.                     parameters are automatically changed to/from 8 bit
  167.                     no parity.
  168.  
  169.          ALT-Y .... Copy a file.  This procedure will copy any unprotected
  170.                     file, however it copies in multiples of 128 bytes, so the
  171.                     resultant file may be a little longer than the original.
  172.                     This is OK for most applications, but some programs are
  173.                     sensitive to the lengths of files, in which case this
  174.                     procedure, probably, will produce unusable output.
  175.                     Also, filenames must be fully specified.  No wildcards
  176.                     are allowed, ONLY the current drive and directory need not
  177.                     be specified.
  178.  
  179.          ALT-Z .... Toggle monitor mode on/off.  In monitor mode, all codes
  180.                     are shown so that the user may see exactly what is
  181.                     being sent by the host computer.  Control codes are
  182.                     shown with the ^ symbol preceding, i.e. ^[ is the ESC
  183.                     code, ^X is the CAN code, etc.  You must refer to an
  184.                     ASCII code chart for a complete list.
  185.  
  186.          ^PrtSc ... Toggle the printer ON/OFF.  Hold the 'Ctrl' key, then
  187.                     press the 'PrtSc' key.
  188.  
  189.  
  190.       The dialing management sub-section has a list of commands also:
  191.  
  192.           A = Add an entry to the dialing directory.
  193.           C = Change an entry in the dialing directory.
  194.           K = Kill an entry in the dialing directory, a sort of the
  195.               directory is recommended after this option or the Add option.
  196.           M = Dial a number not in the directory.  The user is prompted
  197.               for new communications parameters.
  198.           D = Dials a number from the directory, and automatically changes
  199.               the communications parameters.
  200.           S = Stop the modem, after it has dialed, but before it goes online.
  201.               This allows you to dial another number when a previous number
  202.               is busy, without waiting for the modem to timeout waiting for
  203.               carrier.
  204.           F = Display the next page of the directory.
  205.           B = Display the previous page of the directory.
  206.           Q = Quit, returns to the online screen.
  207.  
  208.       Note: When editing Phone Directory entries or Macro Key definitions,
  209.             the program responds to the following editing keys as indicated:
  210.  
  211.             Backspace .... Delete character to the left of cursor.
  212.             Del .......... Delete character under the cursor.
  213.             End .......... Move the cursor to the end of the field.
  214.             ^End ......... Erase from the current cursor position to the
  215.                            end of the field.  The ^ symbol indicates that
  216.                            you must hold the 'Ctrl' key, then press the
  217.                            'End' key.
  218.             Home ......... Move the cursor to the start of the field.
  219.             Ins .......... Toggle between insert and overwrite mode.
  220.                            When in insert mode the cursor becomes fat.
  221.             Left Arrow ... Move the cursor to the left 1 position.
  222.             Right Arrow .. Move the cursor to the right 1 position.
  223.             RETURN ....... Finish the current field and move to the next.
  224.  
  225.       There are several files associated with the system.  Here is a
  226.       description of each:
  227.  
  228.          TM.COM ......... Absolute program.  The one to execute.
  229.          TM.DOC ......... This file.
  230.          TM.PAS ......... Main source code file.
  231.          TM1.INC ........ First include file, source code.
  232.          TM2.INC ........ Second include file, source code.
  233.          MUSIC.INC ...... Musical include file, source code.
  234.          DIRECT.INC ..... DOS file management include file, source code.
  235.          BASIC.INC ...... BASIC style routines, source code.
  236.          RWINDOW.INC .... Removable windowing routines, source code.
  237.          TMODEM.DIR ..... The phone directory, data file.
  238.          TMODEM.KEY ..... Macro key definitions, data file.
  239.          TMODEM.CNF ..... The configuration, data file.
  240.  
  241.             In position 1-3 of each record in the configuration
  242.             file is a code to identify a parameter.  After the
  243.             "=", the value of the parameter appears.
  244.             The codes are:
  245.  
  246.                    CM=  COM port number, 1 or 2.
  247.                    ST=  Number of Stopbits.
  248.                    DA=  Number of Databits.
  249.                    PA=  Parity. 0=None,1=Even,2=Odd
  250.                    BA=  Baud Rate. 300,1200,2400,4800, or 9600.
  251.                    WA=  Number of ticks in 1/3 of a second,
  252.                         at 4.77 MHz clock.  The value should be
  253.                         larger if the clock in your CPU is faster.
  254.                         The units for the value is milleseconds,
  255.                         and it is used for waiting, hence the WA=.
  256.                         For example, if your CPU runs a twice the
  257.                         4.77 MHz rate, then the value of WA= should
  258.                         be 666.
  259.                    PR=  Dialing Pre String.
  260.                    PO=  Dialing Post String, use the | character
  261.                         where a RETURN is needed.
  262.                    MI=  Modem initialization string.
  263.                         The default value, AT S0=0|, will cause the
  264.                         modem not to answer the phone.  Again, use
  265.                         the | character where a RETURN is needed.
  266.                    SY=  Modem command string to turn the speaker ON.
  267.                    SN=  Modem command string to turn the speaker OFF.
  268.                    RT=  After carrier timeout has occured, this is
  269.                         the time between redials, in seconds.
  270.                    FC=  Forced Carrier.  Some modems force carrier
  271.                         even when a call is not in progress, if this
  272.                         is the case, set this parameter to TRUE.
  273.                    CT=  Timeout time for carrier to appear, in seconds.
  274.                    DP=  Directory PATH.  This variable tells the program
  275.                         where to look for the phone directory.  This param
  276.                         is provided mainly for people who wish to put the
  277.                         dialing directory on a RAM-disk.
  278.                    XO=  The decimal value of the XON character.  Used to
  279.                         control data flow.  Starts data flow after XOFF has
  280.                         been issued.
  281.                    XF=  The decimal value of the XOFF character.  Used to
  282.                         control data flow.  Stops data flow when issued.
  283.                         Helps insure that buffer overflow does not occur.
  284.                    VT=  If TRUE, turns on VT-100 emulation, using ANSI escape
  285.                         codes.  If VT-100 emulation is requested, music will
  286.                         not be played, and will show on the screen as text.
  287.                         This happens because of a conflicit between the full
  288.                         ANSI definition and the musical notes.
  289.                    LF=  Auto Linefeed mode.  If TRUE, then a linefeed will be
  290.                         automatically supplied whenever a Carriage Return is
  291.                         recieved.
  292.                    * =  Comment lines.
  293.  
  294.             Note: these entries may either be changed via the ALT-I command,
  295.                   or with any text editor that produces standard ASCII files,
  296.                   such as EDLIN.
  297.  
  298.             For Example:   CM=1             |
  299.                            ST=1             |
  300.                            DA=8             |
  301.                            PA=0             |
  302.                            BA=1200          |
  303.                            WA=333           |
  304.                            PR=ATDT          |
  305.                            PO=|             |
  306.                            MI=AT S0=0|      |
  307.                            SY=AT M1|        |     The DEFAULT defaults!
  308.                            SN=AT M0|        |
  309.                            RT=60            |
  310.                            FC=FALSE         |
  311.                            CT=35            |
  312.                            DP=A:\           |
  313.                            XO=17            |
  314.                            XF=19            |
  315.                            VT=FALSE         |
  316.                            LF=FALSE         |
  317.  
  318.  
  319.       If the program is used without a modem, using a direct cable connection,
  320.       all the dialing and modem control strings in the config file should
  321.       be set to empty strings, for example the line with the MI parameter
  322.       should read: MI=
  323.       Also, when using a direct cable connection, the FC parameter should
  324.       be set to TRUE.
  325.  
  326.       The program has been written to use Hayes compatible commands
  327.       with the modem.  Because the program controls the modem via the
  328.       DTR signal, Data Terminal Ready, the cable between the computer
  329.       and modem must provide a connection for pin 20 and the modem should
  330.       have the internal switches set so that the DTR signal is monitored.
  331.  
  332.       The program uses the Carrier Detect signal from the modem to
  333.       detect when a call has been connected and when to stop redialing,
  334.       for this reason the modem should have it's switches set so that
  335.       the Carrier Detect signal is ONLY sent when present on the phone line.
  336.       If this is not possible, set the FC= parameter, to TRUE.
  337.  
  338.  
  339.       Received Character Processing - VT-100 Mode.
  340.       --------------------------------------------
  341.       Cursor Up .................................. ESC [ Pn A
  342.       Cursor Down ................................ ESC [ Pn B
  343.       Cursor Forward ............................. ESC [ Pn C
  344.       Cursor Backward ............................ ESC [ Pn D
  345.       Cursor Position ............................ ESC [ Pl ; Pc H
  346.       Cursor Position (Home) ..................... ESC [ H
  347.       Horizontal and Vertical Position ........... ESC [ Pl ; Pc f
  348.       Horizontal and Vertical Position (Home) .... ESC [ f
  349.       Index ...................................... ESC D
  350.       Reverse Index .............................. ESC M
  351.       Reverse Linefeed ........................... ESC I
  352.       Next Line .................................. ESC E
  353.       Save Cursor ................................ ESC 7
  354.       Restore Cursor ............................. ESC 8
  355.       Cursor Key Mode Set ........................ ESC [ ? 1 h
  356.                                                 or ESC =
  357.       Cursor Key Mode Reset ...................... ESC [ ? 1 l
  358.                                                 or ESC >
  359.       Select US Character Set .................... ESC ( B
  360.       Select Line Drawing Character Set .......... ESC ( 0
  361.       Turn Off Character Attributes .............. ESC [ m
  362.       Selects Bold Characters .................... ESC [ 1 m
  363.       Selects Underlined Characters .............. ESC [ 4 m
  364.       Selects Blinking Characters ................ ESC [ 5 m
  365.       Selects Reverse Video Characters ........... ESC [ 7 m
  366.       Set Horizontal Tab Stop .................... ESC H
  367.       Clear A Horizontal Tab Stop ................ ESC [ g
  368.       Clear All Horizontal Tab Stops ............. ESC [ 3 g
  369.       Erase From Cursor To End Of Line ........... ESC [ K
  370.       Erase From Beginning Of Line To Cursor ..... ESC [ 1 K
  371.       Erase Complete Line ........................ ESC [ 2 K
  372.       Erase From Cursor To End Of Screen ......... ESC [ J
  373.       Erase From Beginning Of Screen To Cursor ... ESC [ 1 J
  374.       Erase Complete Display ..................... ESC [ 2 J
  375.       Delete Character At Cursor ................. ESC [ Pn P
  376.       Insert Line At Cursor ...................... ESC [ Pn L
  377.       Delete Line At Cursor ...................... ESC [ Pn M
  378.       Select Insert Mode ......................... ESC [ 4 h
  379.       Reset Insert Mode .......................... ESC [ 4 l
  380.       Turn Printer On ............................ ESC [ ? 5 i
  381.       Turn Printer Off ........................... ESC [ ? 4 i
  382.       Turn Printer Controller On ................. ESC [ 5 i
  383.       Turn Printer Controller Off ................ ESC [ 4 i
  384.       Print Screen ............................... ESC [ i
  385.       Request Cursor Position Report ............. ESC [ 6 n
  386.              Response: Cursor Position Report .... ESC [ Pl ; Pc R
  387.       Request ID ................................. ESC [ c
  388.              Response: Terminal Type ............. ESC [ ? 6 c
  389.       Receive XMODEM from Host ................... ESC { filename } 1
  390.       Transmit XMODEM to Host .................... ESC { filename } 3
  391.  
  392.       Notes: ESC is used to represent the escape character, decimal 27.
  393.              Pn represents a variable numeric parameter, the parameter is
  394.              a decimal number transmitted to the program by using ASCII
  395.              characters.  Pl represents the LINE, and Pc represents the
  396.              COLUMN, these are numeric parameters sent using ASCII
  397.              characters.  The spaces shown are for readability, they
  398.              are not sent by the Host.  The filename must be a valid
  399.              MS-DOS format name and not contain the characters { or }.
  400.  
  401.  
  402.  
  403.       Transmitted Characters - VT-100 Mode.
  404.       -------------------------------------
  405.       Function Keys .............................. User Programmable.
  406.       End ........................................ ESC O R
  407.       Ctrl-End ................................... ESC O S
  408.       Del ........................................ DEL
  409.       Ins ........................................ ESC O n
  410.       Home ....................................... ESC [ H
  411.       PgUp ....................................... ESC [ O r
  412.       PgDn ....................................... ESC [ O q
  413.       Shift-Tab .................................. ESC [ O x
  414.       Left Arrow ................Normal........... ESC [ C
  415.                                  Keypad Mode...... ESC O C
  416.       Right Arrow ...............Normal........... ESC [ D
  417.                                  Keypad Mode...... ESC O D
  418.       Up Arrow ..................Normal........... ESC [ A
  419.                                  Keypad Mode...... ESC O A
  420.       Down Arrow ................Normal........... ESC [ B
  421.                                  Keypad Mode...... ESC O B
  422.       Others ..................................... Standard Values.
  423.  
  424.       Note: The blanks are included for readability only.
  425.  
  426.  
  427. Below is a sample of the 'termcap' entries needed to use TMODEM with
  428. UNIX System V:
  429.  
  430.    #
  431.    #  TMODEM termcap SETUP FOR UNIX SYSTEM V.
  432.    #
  433.    t1|tmodem|TMODEM setup:\
  434.    co#80:li#24:cl=\E[H\E[2J:bs:cm=\E[%i%2;%2H:ti=\E[H:\
  435.    kh=\E[H:kr=\E[C:nd=\E[C:kl=\E[D:bc=\E[D:ku=\E[A:up=\E[A:kd=\E[B:do=\E[B:\
  436.    kb=^H:am:xn:sr=\EM:\
  437.    im=\E[4h:ei=\E[4l:mi:sf=\ED:dc=\E[P:dl=\E[M:il=\E[L:\
  438.    ce=\E[0K:cd=\E[0J:\
  439.    so=\E[7m:se=\E[0m:us=\E[4m:ue=\E[0m:ul:ug#0:
  440.  
  441.  
  442. Here is a sample of the 'stty' settings to use with TMODEM on UNIX System V:
  443.  
  444.    $ stty
  445.    speed 9600 baud; evenp clocal
  446.    erase = ^h;
  447.    brkint -inpck icrnl -ixany ixoff onlcr
  448.    echo echoe echok
  449.    $
  450. and the musical notes.
  451.                    LF=  Auto Linefeed mode.  If TRUE, then a linefeed will be
  452.                         a